package com.skt.domain.DTO.request;

import lombok.Data;

import javax.validation.constraints.FutureOrPresent;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDate;
import java.util.List;

/**
 * 创建租赁订单请求参数
 * 支持租赁多个服装
 */
@Data
public class CreateRentalOrderRequest {

    /**
     * 租赁开始日期（不能早于今天）
     */
    @FutureOrPresent(message = "开始日期不能是过去日期") // 日期必须是 未来或今天的日期（@FutureOrPresent）。
    @NotNull(message = "startDate 不能为空")
    private LocalDate startDate;

    /**
     * 租赁结束日期
     */
    @NotNull(message = "endDate 不能为空")
    private LocalDate endDate;

    /**
     * 备注
     */
    private String remark;


    /**
     * 租赁服装明细列表
     */
    @NotEmpty(message = "至少选择一件服装")
    private List<CostumeItem> costumes;

    /**
     * 单个服装项
     */
    @Data
    public static class CostumeItem {

        /**
         * 服装ID
         */
        @NotNull(message = "costumeId 不能为空")
        private Long costumeId;

        /**
         * 数量（默认为1，前端可传）
         */
        @NotNull(message = "quantity 不能为空")
        private Integer quantity;
    }
}